CLS: PRINT "Enter the directory name where the Bmap files are stored?" INPUT path$ IF path$="" THEN RUN colon = 0: l=LEN(path$) FOR i=1 TO l IF MID$(path$,i,1) = ":" THEN colon = i: i=LEN(path$) NEXT i IF colon < l AND colon <> 0 AND RIGHT$(path$,1) <> "/" THEN path$=path$+"/" IF colon = 0 AND RIGHT$(path$,1) <> ":" THEN path$=path$+":" CLS DECLARE FUNCTION AllocMem& LIBRARY LIBRARY path$+"exec.library" LIBRARY path$+"intuition.library" SCREEN 1,640,256,2,2 WINDOW 2,"New Mouse Pointer",(0,0)-(617,190),22,1 buff& = AllocMem&(68*4,2) CALL mouseinit PRINT "Press any key to see" PRINT "the next mouse pointer" FOR i = 0 TO 3 CALL setmouse GOSUB waitkey NEXT i CALL FreeMem&(buff&,68*4) WINDOW CLOSE 2 SCREEN CLOSE 1 END waitkey: WHILE INKEY$="" WEND RETURN SUB mouseinit STATIC SHARED buff& RESTORE mousedata FOR i=0 TO 135 READ value% POKEW buff&+i*2,value% NEXT i END SUB SUB setmouse STATIC SHARED buff& SHARED i offset& = 68*i WINDOW OUTPUT 2 CALL SetPointer&(WINDOW(7),buff&+offset&,15,16,-8,-7) END SUB mousedata: 'mouse one DATA 0,0 DATA 256,256 DATA 256,256 DATA 256,256 DATA 256,256 DATA 896,0 DATA 3168,0 DATA 12312,0 DATA 256,4096 DATA 256,4096 DATA 12312,0 DATA 3168,0 DATA 896,0 DATA 256,256 DATA 256,256 DATA 256,256 DATA 0,0 'mouse two DATA 0,0 DATA 256,0 DATA 256,0 DATA 256,0 DATA 256,0 DATA 256,0 DATA 256,0 DATA 256,0 DATA -258,0 DATA 256,0 DATA 256,0 DATA 256,0 DATA 256,0 DATA 256,0 DATA 256,0 DATA 256,0 DATA 0,0 'mouse three DATA 0,0 DATA 0,1 DATA 0,-32767 DATA 0,-18751 DATA 0,-1 DATA 0,-18751 DATA 0,-32767 DATA 14016,-32767 DATA 14016,-14017 DATA 14016,-32767 DATA 0,-32767 DATA 13848,-18919 DATA 13848,-1 DATA 13848,-18919 DATA 0,-32767 DATA 0,-32767 DATA 0,0 'mouse four DATA 0,0 DATA -32767,-32767 DATA -14017,-14017 DATA -32767,-32767 DATA -14017,-14017 DATA -32767,-32767 DATA -14017,-14017 DATA -32767,-32767 DATA -14017,-14017 DATA -32767,-32767 DATA -14017,-14017 DATA -32767,-32767 DATA -14017,-14017 DATA -32767,-32767 DATA -14017,-14017 DATA -32767,-32767 DATA 0,0